Código HTML
<input id="Degree" name="degree" type="number">código JavaScript
function jsdegree(){ var deg = document.getElementById('Degree').value; if (deg <73 ) { alert(" your degree is less than required "); } }Pero no pasa nada y no lo hice No lo haré en el botón de enviar, lo quiero si escribo el grado que aparece inmediatamente en el cuadro de alerta, ayúdenme por favor :(
Del comentario de @Rayon.
Puede usar eventos oninput o onkeyup para verificar la escritura.
let degreeInput = document.getElementById('Degree'); degreeInput.oninput = (e) => { if (e.target.value < 73) { alert(" your degree is less than required "); } };Pero... este JavaScript funcionará en cada entrada de teclado. Agreguemos unretraso para ello.
let degreeInput = document.getElementById('Degree'); let delayTimer; degreeInput.oninput = (e) => { clearTimeout(delayTimer); delayTimer = setTimeout(() => { if (e.target.value < 73) { alert(" your degree is less than required "); } }, 1000); };Esto agregará un retraso una vez que ingrese el teclado y espere 1000 (1 segundo). Si no hay ninguna entrada de teclado entre esto, la función funcionará.
¿Ese es todo tu código? Si es así, la función no está siendo llamada. Alguien en los comentarios sugirió una función de entrada, pero eso no funcionaría si desea que el número tenga potencialmente varios dígitos. Aquí hay dos posibilidades:
html:
<form onsubmit="jsdegree(event)"> <input id="Degree" name="degree" type="number"> </form> También podría agregar, entre la primera etiqueta <input> y la etiqueta de cierre </form> , un botón de envío: <input type-"submit"> y luego las personas también podrían activar el evento al presionarlo.
JavaScript:
function jsdegree(event){ event.preventDefault(); var deg = document.getElementById('Degree').value; if (deg <73 ) { alert(" your degree is less than required "); } } Tenga en cuenta event.preventDefault() es importante aquí, de lo contrario, al presionar Intro se volverá a cargar la página.
html:
<input id="Degree" name="degree" type="number" onchange="jsdegree()">Y su JavaScript podría permanecer igual.